package com.chaodev.base.service;

import com.github.pagehelper.PageInfo;
import com.chaodev.base.dto.ExplanationPointDto;
import com.chaodev.base.model.ExplanationLine;
import com.chaodev.base.model.ExplanationPoint;

import java.util.List;

public interface ExplanationPointService {

    /**
     * 新增导览解说点
     * @param explanationPoint
     * @return
     */
    boolean addExplanationPoint(ExplanationPoint explanationPoint);

    /**
     * 修改导览解说点
     * @param explanationPoint
     * @return
     */
    boolean editExplanationPoint(ExplanationPoint explanationPoint);

    /**
     * 保存导览解说点
     * @param explanationPoint
     * @return
     */
    boolean saveExplanationPoint(ExplanationPoint explanationPoint);

    /**
     * 删除导览解说点
     * @param explanationPoint
     * @return
     */
    boolean removeExplanationPoint(ExplanationPoint explanationPoint);

    /**
     * 查询导览解说点列表
     * @param explanationPointDto
     * @return
     */
    List<ExplanationPoint> getExplanationPointList(ExplanationPointDto explanationPointDto);

    /**
     * 查询单条导览解说点
     * @param explanationPoint
     * @return
     */
    ExplanationPoint getExplanationPointById(ExplanationPoint explanationPoint);

    /**
     * 查询导览解说点列表分页
     * @param explanationPointDto
     * @return
     */
    PageInfo<ExplanationPoint> getExplanationPointPage(ExplanationPointDto explanationPointDto);

    /**
     * 查询解说点所在线路
     * @param explanationPoint
     * @return
     */
    List<ExplanationLine> getExplanationPointOnLine(ExplanationPoint explanationPoint);

}
